As Exchange Server 2003 databases grow, they can
become fragmented. This creates performance problems that affect users.
Inconsistencies in Exchange databases can be resolved by using Exchange
Server 2003 tools and utilities. You can also monitor queues and monitor
the performance of your Exchange Server 2003 servers to help identify
normal and abnormal trends. Typically, the on-demand maintenance tasks
that you perform are the result of errors that have been reported by
monitoring utilities or by users.
On-Demand Maintenance Tasks
On-demand
maintenance tasks are required to resolve issues that are identified by
daily and scheduled maintenance or as a result of problems reported by
users. Typical on-demand maintenance tasks are as follows:
Defragment mailbox and public folder stores
As they grow over time, Exchange Server 2003 database stores can become
noncontiguous or fragmented, which creates performance problems. You
can defragment Exchange databases by using Eseutil.exe. This creates
contiguous storage space and can also reduce the size of the databases.
Verify mailbox and public folder store integrity
You can use Isinteg.exe to resolve inconsistencies in Exchange Server
2003 databases. The utility can both verify the integrity of the
database and repair errors in the database.
You can use Queue Viewer to monitor queues. This enables you to
identify normal and abnormal activity and to analyze trends. A large
number of messages backed up in the queue can indicate a security
threat, a spam attack, or a network performance issue.
Offline Defragmentation
Offline
defragmentation creates a new, defragmented database and reduces
database size. A badly fragmented database may not accept messages fast
enough to keep up with the incoming volume. Offline compaction and
defragmentation creates a new version of the database that is both
smaller and faster than the original.
If you want to
defragment a database offline, you need to dismount it. You also need to
ensure that the free disk space is at least 110 percent of the size of
the database being processed. If free space is not available on the
volume where the database is held, you must either free up space or move
the database to a volume that has enough free space to enable the
eseutil utility to run.
Eseutil is a
command-line utility that is used to defragment the mailbox and public
folder stores in Exchange Server 2003. The utility examines the
structure of the database tables and records. This activity can include
reading, scanning, repairing, and defragmenting the database.
Table 1 lists the eseutil operation modes.
Table 1. The eseutil Operation Modes
Operation mode | Function |
---|
eseutil /d | Performs an offline compaction of a database. |
eseutil /r | Performs a recovery and brings all databases to a consistent state. |
eseutil /g | Verifies the integrity of a database. |
eseutil /m | Generates a formatted output of various database file types. |
eseutil /p | Repairs a corrupted or damaged database. |
eseutil /c | Restores information. |
eseutil /k | Verifies database checksums. |
eseutil /y | Copies a database streaming file or log file. |
Defragmenting Exchange Stores
When you defragment a
database in a storage group, the process makes the used storage
contiguous, eliminates unused storage, and compacts the database by
copying the database records to a new database. When the defragmentation
is complete, the original database is deleted or saved to a
user-specified location, and the new version is renamed as the original.
Only one database in any storage group can be defragmented at any given
time. However, databases from different storage groups can be
defragmented at the same time provided there are resources available for
the process.
To defragment a
database, you first use Exchange System Manager to dismount the Exchange
store that you want to defragment and then run the eseutil /d utility
at the command prompt.
Verifying Exchange Store Integrity
Sometimes
headings, pointers, or other indicators in an Exchange store become
corrupted. This results in the integrity of the store being compromised.
Any of the following situations indicate that an integrity check is
required:
An item count on a mailbox is inconsistent
If, for example, a mailbox that you know contains 100 messages reports
its size as anything other than 100, then some of the counters and
pointers in your mailbox store may be corrupt.
You cannot move a mailbox
If the Move Mailbox command or the exmerge utility fails on a
particular mailbox, then the mailbox structure or the structure of a
message inside the mailbox may be corrupt.
The Exchange store or mail client computer crashes frequently
If, for example, Outlook crashes repeatedly when a user tries to access
a particular mailbox or a specific message within a mailbox, then the
mailbox structure or the structure of a message inside the mailbox may
be corrupt.
If you suspect a loss of
integrity, then you can use the isinteg command-line utility to identify
and possibly correct the error. Isinteg searches through an offline
Exchange store for integrity weaknesses. It first checks to see whether
the MSExchangeIS service is stopped. If that service is stopped, isinteg
displays the message “Error: unable to get databases status from
server. The reason could be either wrong server name or networking
problems,” and then isinteg stops.
If the service is not
stopped, isinteg displays a list of databases. When you select a
database, isinteg checks the cross-reference tables in that database for
errors. To do this, it first builds an Exchange database, called refer.mdb,
of reference counts for the crossreference tables. It then browses the
tables and compares the counts found to the counts in refer.mdb. If you
run isinteg with the -fix switch, these counts are updated to the true
values, as determined by isinteg. Finally, isinteg performs the “named
to ID” or “named properties cleanup” check to remove unused named
properties.
Table 2 lists the switches that can be used with the isinteg utility.
Table 2. isinteg Switches
Switch | Function |
---|
-fix | Fixes any inconsistencies in the selected database. |
-verbose | Displays a detailed report of the inconsistencies that isinteg discovers. |
-test TestName | Defines the tests that isinteg will perform when it runs (for example, to perform all tests available, use -test alltests). |
Tip
You
can use eseutil with the /g and /p switches to check and repair
database integrity. However, there are limitations to the type of
database and the type of fault that can be repaired. Isinteg is the tool
of choice for database integrity problems. If you are asked what tools can be used, the answer is isinteg and eseutil. If you are asked what the best
tool is to use, the answer is isinteg. A good way of remembering this
is that isinteg is an abbreviation of information store integrity. |
Checking Queues
You can use the Queue
Viewer tool to maintain and administer your Exchange organization’s
messaging queues and to identify mail-flow problems. You must first
develop a queue baseline so that you can identify the difference between
normal and abnormal behavior. Typically, on-demand use of the Queue
Viewer results from a user support call indicating that e-mail delivery
is slow or a message has not been delivered. You can use Queue Viewer to
check for the following items:
Extended periods of queues
Typically, an Exchange Server 2003 server will not queue messages for
an extended duration. Extended periods of queuing indicate an abnormal
system event that you need to investigate. You should review performance
metrics to see if some other problems (such as excessive load) are
causing mail to be queued. If not, look for connectors or servers that
are down or not functioning.
Spikes in queued messages
Spikes in queued messages can occur when someone sends a message to a
large distribution list, an extremely large message to many people, or a
message whose destination is across a slow network link.
Extended
periods in queues and spikes happen. They are not typically a cause for
alarm. However, you do need to take immediate action if you find a
large number of messages queued to the same account. This can be the
symptom of a spam or Denial of Service (DoS) attack. If you find a large
number of messages queued to a specific server or domain, then maybe
the server is down, a service is stopped, a domain is unreachable, or a
network connection cannot be made. |
|
Exchange Server 2003 Management Tools
Microsoft Operations
Manager is included with Exchange Server 2003. It collects performance
data that is generated by your Exchange Server 2003 servers to a central
location. It filters, analyzes, reports, and responds to these events.
You can use Microsoft Operations Manager to automate the monitoring of
large numbers of servers to provide the best level of service for client
computers.
The
Microsoft Exchange Application Management Pack includes key performance
metrics that monitor the overall performance of an Exchange
organization and alert you to critical performance issues. By using
Microsoft Operations Manager reporting, you can analyze and display this
performance data to understand usage trends, to perform accurate load
balancing, and to manage system capacity.
Practice: Defragmenting Exchange Stores and Checking Their Integrity
In this practice, you use
the eseutil and isinteg command-line utilities to defragment a mailbox
store and to check mailbox store integrity.
Note
You need to dismount the mailbox store before performing either operation. |
Exercise 1: Defragment a Mailbox Store
To use eseutil to defragment a mailbox store, perform the following steps:
1. | Start Exchange System Manager.
|
2. | Navigate
to Administrative Groups\First Administrative Group\Servers
\Server01\First Storage Group and expand First Storage Group.
|
3. | In the console tree, right-click Mailbox Store (SERVER01), and then click Dismount Store.
|
4. | In the warning box, click Yes to dismount the mailbox store.
|
5. | Open the Command console on Server01.
|
6. | At the command prompt, type cd \program files\exchsrvr\bin and then press ENTER.
|
7. | At the command prompt, type eseutil /d “c:\program files\exchsrvr\mdbdata\privl.edb” and then press ENTER.
|
8. | View
the output of eseutil in the command prompt window to verify that the
defragmentation process completed successfully, as shown in Figure 1.
|
9. | In
Exchange System Manager, right-click Mailbox Store (SERVER01), click
Mount Store, and then click OK to acknowledge that the mailbox store was
successfully mounted.
|
Exercise 2: Verify a Mailbox Store
To use isinteg to verify the integrity of a mailbox store, perform the following steps:
1. | Start Exchange System Manager.
|
2. | Navigate to Administrative Groups\First Administrative Group\Servers \Server01\First Storage Group.
|
3. | Expand First Storage Group, right-click Mailbox Store (SERVER01), and then click Dismount Store.
|
4. | In the warning box, click Yes to dismount the mailbox store.
|
5. | Open the Command console on Server01.
|
6. | At the command prompt, type cd \program files\exchsrvr\bin and then press ENTER.
|
7. | At the command prompt, type isinteg -s server01 -test allfoldertests and then press ENTER.
|
8. | When
prompted to specify a number to select a database, type the number that
corresponds to Mailbox Store (SERVER01) and then press ENTER. The
number that is associated with the Mailbox Store will vary depending on
how many Exchange stores you have created on your server.
|
9. | When asked whether to continue with your selection of First Storage Group/ Mailbox Store (Server01), type Y and then press ENTER.
|
10. | View the results in the Command console, as shown in Figure 2, to verify that no errors occurred, and then close the Command console.
|
11. | In
Exchange System Manager, right-click Mailbox Store (SERVER01), and then
click Mount Store. Click OK to acknowledge that the mailbox store was
successfully mounted. |